#!/bin/bash

# 学生荣誉信息管理系统 - 创建管理员账户脚本
# 用于创建默认管理员账户

echo "=========================================="
echo "学生荣誉信息管理系统 - 创建管理员账户"
echo "=========================================="

# 检查当前目录
echo "当前工作目录: $(pwd)"

# 检查create_admin.py文件是否存在
if [ ! -f "create_admin.py" ]; then
    echo "错误: create_admin.py文件不存在，请确保在项目根目录下运行此脚本"
    exit 1
fi

# 检查Python 3.11环境
echo "检查Python环境..."
if command -v python3.11 &> /dev/null; then
    echo "找到Python 3.11: $(which python3.11)"
    PYTHON_CMD="python3.11"
elif command -v python3 &> /dev/null; then
    echo "找到Python 3: $(which python3)"
    PYTHON_CMD="python3"
else
    echo "错误: 未找到Python 3，请确保Python 3已安装"
    exit 1
fi

# 检查虚拟环境
if [[ "$VIRTUAL_ENV" != "" ]]; then
    echo "当前在虚拟环境中: $VIRTUAL_ENV"
    echo "Python版本: $($PYTHON_CMD --version)"
else
    echo "警告: 未检测到虚拟环境，建议在虚拟环境中运行"
fi

# 检查Flask环境
echo "检查Flask环境..."
$PYTHON_CMD -c "import flask; print('Flask版本:', flask.__version__)" 2>/dev/null
if [ $? -ne 0 ]; then
    echo "错误: Flask未安装，请先安装Flask"
    echo "运行: pip install flask flask-sqlalchemy flask-migrate pymysql"
    exit 1
fi

# 检查数据库连接（简化版本）
echo "检查数据库连接..."
$PYTHON_CMD -c "
import sys
sys.path.append('.')
try:
    from app import create_app
    app = create_app()
    print('应用创建成功')
except Exception as e:
    print('应用创建失败:', e)
    sys.exit(1)
"

if [ $? -ne 0 ]; then
    echo "错误: 应用创建失败，请检查配置"
    exit 1
fi

# 询问用户是否继续
read -p "是否继续创建管理员账户? (y/N): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
    echo "取消操作"
    exit 0
fi

# 执行创建管理员账户
echo "开始创建管理员账户..."
$PYTHON_CMD create_admin.py

if [ $? -eq 0 ]; then
    echo "=========================================="
    echo "管理员账户创建完成!"
    echo "=========================================="
    echo "默认登录信息:"
    echo "用户名: admin"
    echo "密码: admin123"
    echo "请及时修改默认密码！"
else
    echo "=========================================="
    echo "管理员账户创建失败!"
    echo "请检查错误信息并重试"
    echo "=========================================="
    exit 1
fi 